Various text and synthetic image editors have been developed for creating and editing documents on computers having different hardware configurations and different software operating environments. Unfortunately, many of these editors utilize different document description languages (DDL's) for encoding the structure and content of such documents in formats that enable them to be manipulated and rendered by certain computer systems, but not by others. For example, WYSIWYG ("What You See is What You Get) text editors generally are based on DDL's having system specific encoding formats.
As a result of these diverse document encoding formats there is a "document interchange problem" that interferes with the sharing of electronic documents by users employing different computer hardware configurations and/or different software operating environments. Users sometimes can work around this problem by using plain text encoding, such as standard ASCII encoding, for the documents they want to share or by running documents having a foreign encoding format through a format converter. However, plain text encoding sacrifices much of the formatting information that is required to give an electronic document the appearance intended by its author. Format conversion programs, on the other hand, not only are limited by the operating system of the host computer upon which they reside, but also usually require that the host have substantial computational resources available for running them. Furthermore, known format converters generally require a priori knowledge of both the original and the desired format of the document, so they are merely a partial solution to the problem.
Image databases, such a Filenet, combine some of the elements of document appearances and document descriptions. These databases are designed for the storage and retrieval of images, but the stored images or "appearances" are retrievable in just one predetermined format. For that reason, clients often need custom displays and/or extensive custom software for rendering the images they retrieve from such a database. These databases typically contain separate queriable information about each of the stored images, but this descriptive information conventionally is confined to a few predetermined fields, rather than providing an open-ended image description that can be supplemented to tailor it to the user's requirements. Furthermore, the standard practice is to store all image descriptions at the same level of such a database, so one description cannot point to another.
Extended remote procedure call (RPC) operations are used to carry out this invention. Accordingly, it is to be understood that there are known extended RPC operations for providing server callbacks to the client when a procedure called by the client reaches completion, as well as extended RPC operations which require periodic callbacks from the client (i.e., server polling by the client) while the called procedure is being performed. However, the server callbacks of these known RPC operations do not give the client partial results. Moreover, the known client polling techniques do not take changes in the status of the server into account after the called procedure has been initiated.